# PyTorch 1.5+
ARG PYTORCH="1.6.0"
# CUDA 9.2+ (If you build PyTorch from source, CUDA 9.0 is also compatible)
ARG CUDA="10.1"
ARG CUDNN="7"

FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel

ENV TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0+PTX"
ENV TORCH_NVCC_FLAGS="-Xfatbin -compress-all"
ENV CMAKE_PREFIX_PATH="$(dirname $(which conda))/../"

RUN apt-get update && apt-get install -y ffmpeg libsm6 libxext6 git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# Install MMCV
# mmcv-full>=1.3.0
RUN pip install mmcv-full==1.3.14 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html

# Install MMGeneration
RUN conda clean --all
# RUN git clone https://github.com/open-mmlab/mmgeneration.git /mmgeneration
# Switch to github mirror source
RUN git clone https://gitee.com/hejuncheng1/mmgeneration.git /mmgeneration
WORKDIR /mmgeneration
ENV FORCE_CUDA="1"
RUN pip install -r requirements.txt
RUN pip install --no-cache-dir -e .